package Test;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.WriteAbortedException;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;

/*
 * 编写一个客户端向服务端上传文件的程序，要求使用TCP通信的的知识，完成将本地机器输入的路径下的文件上传到D盘中名称为upload的文件夹中。
 * 并把客户端的IP地址加上count标识作为上传后文件的文件名，
 * 即IP（count）的形式。其中，count随着文件的增多而增大，例如127.0.0.(1).jpg、127.0.0.(2).jpg。
 */
public class test2 {
	public static void main(String  [] args) throws Exception
	{
		Scanner scanner=new Scanner(System.in);
		System.out.println("请输入要上传的文件路径");
		String string=scanner.nextLine();
		File f=new File(string);
		InetAddress inetAddress=InetAddress.getLocalHost();
		Socket socket=new Socket(inetAddress,6666);
		OutputStream outputStream =socket.getOutputStream();
		OutputStreamWriter w=new OutputStreamWriter(outputStream);
		InputStream inputStream =new FileInputStream(f);
		InputStreamReader inputStreamReader=new InputStreamReader(inputStream);
		char[] arr=new char[3];
		int n=0;
		while((n=inputStreamReader.read(arr))!=-1)
		{
			w.write(arr,0,n);
		}
		inputStreamReader.close();
		w.close();
		outputStream.close();
		inputStream.close();
		socket.close();
	}
}